package service;

import java.io.ByteArrayOutputStream;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import javax.jws.WebMethod;
import javax.jws.WebService;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;

import entities.Personne;
import exceptions.NomInconnuException;

@WebService
public class Annuaire {
 static Map<String, Personne> personnes  =new HashMap<String, Personne>();
 

 
 @WebMethod
 
 public Personne lire(String nom) throws NomInconnuException{
	 Personne p = null;
	 if(personnes.containsKey(nom)){
		 p = personnes.get(nom);
	 }else{ 
		throw new NomInconnuException();
	 }
	 return p;
 }
 
 public void sauver(Personne personne){
	 personnes.put(personne.getNom(), personne);
 }
 
 public void supprimer(Personne personne){
	 if(personnes.containsKey(personne.getNom())){
		 personnes.remove(personne.getNom())  ;
	 }
 }
 
 public Collection<Personne> toutLire(){
	 return personnes.values();
 }
 
 public byte[] exporterPDF(){
	 ByteArrayOutputStream os = new ByteArrayOutputStream();
	 Document document = new Document();
	 try {
		 PdfWriter.getInstance(document, os);
		 document.open();
		 document.add(new Paragraph("Hello World 1"));
		 document.add(new Paragraph("Hello World 2"));
		 document.add(new Paragraph("Hello World 3"));
		 document.close();
	} catch (DocumentException e) {
		e.printStackTrace();
	}
	return os.toByteArray();
 }
}
